package org.dromara.app.mapper;

import org.apache.ibatis.annotations.Param;
import org.dromara.app.appParams.AppDetailByIdParams;
import org.dromara.app.appParams.AppPageParams;
import org.dromara.app.appParams.AppTongYongParams;
import org.dromara.app.appParams.AppTuiJianParams;
import org.dromara.app.appReturn.AppActiveInfoReturn;
import org.dromara.app.appReturn.AppShopYueJuReturn;
import org.dromara.app.appReturn.AppYueJuListReturn;
import org.dromara.app.domain.SkAppUser;
import org.dromara.app.domain.SkYueJu;
import org.dromara.app.domain.vo.SkAppUserVo;
import org.dromara.app.domain.vo.SkYueJuVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;

import java.util.List;

/**
 * 约局信息Mapper接口
 *
 * @author Evacuation
 * @date 2024-07-23
 */
public interface SkYueJuMapper extends BaseMapperPlus<SkYueJu, SkYueJuVo> {

    /**
     * 推荐列表
     *
     * @param params
     * @return
     */
    List<AppYueJuListReturn> recommendList(AppTuiJianParams params);

    /**
     * 派对大厅
     *
     * @param params
     * @return
     */
    List<AppYueJuListReturn> partyHall(AppTuiJianParams params);

    /**
     * 灵魂达人匹配
     */
    List<AppYueJuListReturn> getSoulMasterMatching(@Param("app") AppTongYongParams app,@Param("user") SkAppUserVo user);

    /**
     * 约局活动列表
     * @param params
     * @param userId
     * @return
     */
    List<AppActiveInfoReturn> activeList(@Param("params") AppPageParams params,@Param("userId") Long userId);

    /**
     * 申请加入群组列表（审核中）
     * @return
     */
    List<AppYueJuListReturn> getYueJuShengHeList(Long userId);

    /**
     * 商家标签约局列表
     */
    List<AppShopYueJuReturn> getShopYueJuList(@Param("list") List<String> toList,@Param("params") AppDetailByIdParams params);
}
